package com.kgc.mj.springbooot.timer;

import com.kgc.mj.springbooot.constant.SystemConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * Created by MJ on 2020/10/21 10:50
 *
 * 充值结果回调定时任务
 *
 * fixedDelay:指定两次定时任务执行的时间间隔毫秒（前一次执行结束到后一次执行结束
 *
 * fixedRate:指定两次定时任务执行的时间间隔毫秒
 *
 * cron:使用表达式指定定时任务的执行时机，一般定点执行
 */
@Component
@Slf4j
public class ChangeCallBackSchedule {

    /**
     * @Author: MJ
     * @Params:
     * @Return:
     * @Date:
     * @Description:每分钟执行一次回调的定时任务
     */
    @Scheduled(fixedDelay = SystemConstant.SYS_TIMER_ONE_MINUTE_MILLIS)
    public void chargeCallBack(){
        log.info("========开始执行充值回调定时任务========");
        log.info("========查询数据库中前一小时充值成功但是回调失败的订单，获取订单列表，循环处理回调========");

        log.info("========结束执行充值回调定时任务========");
    }
    /**
     * @Author: MJ
     * @Params:
     * @Return:
     * @Date:
     * @Description:每5秒钟执行一次回调的定时任务
     */
    @Scheduled(cron = "0 20 11 * * ?")
    public void chargeCallBack1(){
        log.info("========开始执行充值回调定时任务========");
        log.info("========出现吧========");

        log.info("========结束执行充值回调定时任务========");
    }
}
